package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 提高每次读写量，坚守实际读写的次数，提高效率
 *
 * int read和 viod write(int)
 * 上述两个方法都是以单字节进行读写的，低些次数越多，效果越差
 *
 * int read(byte[] data) 和void write(byte[] data,int off,int len)
 *  * 上述两个方法是以一组字节为单位进行读写操作，。这种操作称为:块读写操作
 */

public class CopyDemo2 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("image.png");
        FileOutputStream fos = new FileOutputStream("image_copy3.png");

        int len;//用来记录实际读到的字节量
        byte[] data = new byte[1024*10];
        while ((len = fis.read(data)) != -1){
            fos.write(data,0,len);
        }
        System.out.println("复制完毕");
        fis.close();
        fos.close();


    }


}
